/**
 * Copyright (c) 2019 qar All rights reserved.
 *
 * https://www.qar.io
 *
 * 版权所有，侵权必究！
 */
package com.example.dto;

import com.example.utils.DateUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* 通知管理
*
* @author Mark sunlightcs@gmail.com
*/
@Data
@Tag(name = "通知管理")
public class SysNoticeDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    @Schema(description = "id", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Long id;
    @Schema(description = "通知类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer noticeType;
    @Schema(description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    private String title;
    @Schema(description = "内容", requiredMode = Schema.RequiredMode.REQUIRED)
    private String content;
    @Schema(description = "接收者类型  0：全部  1：部门", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer receiverType;
    @Schema(description = "接收者ID，用逗号分开", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String receiverTypeIds;
    @Schema(description = "接收者ID列表", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private List<Long> receiverTypeList;
    @Schema(description = "发送状态  0：草稿  1：已发布", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer status;
    @Schema(description = "发送者", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String senderName;
    @Schema(description = "发送时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date senderDate;
    @Schema(description = "创建者", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Long creator;
    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date createDate;
    @Schema(description = "接收者", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private String receiverName;
    @Schema(description = "阅读时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date readDate;
    @Schema(description = "阅读状态  0：未读  1：已读", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
    private Integer readStatus;
}